package servlet;

import pojo.Dept;
import service.DeptService;
import service.impl.DeptServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@WebServlet(urlPatterns = "/dept")
public class DeptServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //TODO   要做但还没做的
        req.setCharacterEncoding("UTF-8");
        DeptService deptService = new DeptServiceImpl();

       String action = req.getParameter("action");
       //判断action
       if("list".equals(action)){
           //获取参数
           String dname = req.getParameter("dname");
           Dept condition = new Dept(dname);

           List<Dept> depts = deptService.findAll(condition);
           //把数据放在请求域中
           req.setAttribute("depts", depts);
           req.setAttribute("condition", condition);
           //在哪个页面显示数据
           req.getRequestDispatcher("/list.jsp").forward(req,resp);
       }else if("delete".equals(action)){

           //获取参数
           String sid = req.getParameter("id");
           int id=Integer.parseInt(sid);


           int result = deptService.deleteDeptById(id);

           if(result>0){
               resp.sendRedirect("dept?action=list");
           }else{

       }

           }else if("add".equals(action)){
           String dname = req.getParameter("dname");
           String pass=req.getParameter("pass");
           int result = deptService.addDept(new Dept(dname));
           if (result>0) {
               resp.sendRedirect("dept?action=list");
           }else {

           }
       }else if("toupdate".equals(action)){
           String sid = req.getParameter("id");
           int id=Integer.parseInt(sid);
           Dept depts = deptService.findDeptById(id);
           //把数据放在请求域中
           req.setAttribute("depts", depts);
           //在哪个页面显示数据
           req.getRequestDispatcher("/updateDept.jsp").forward(req,resp);

       }
       else if("update".equals(action)){
           String sid = req.getParameter("id");
           int id=Integer.parseInt(sid);
           String dname = req.getParameter("dname");
           String pass=req.getParameter("pass");
           int result = deptService.updateDept(new Dept(id,dname));//打断点，不传值为零
           if (result>0) {
               resp.sendRedirect("dept?action=list");
           }else {

           }
       }
       }



}
